package com.hxkj.dao;

import com.hxkj.domain.po.AuthRole;

import java.util.List;

/**
 * 数据操作接口
 *
 * @author: chenwei
 * @version: 1.0
 * @datetime: 2018-05-21 17:59:26
 *
 */
public interface AuthRoleDao {

    /**
     * 根据主键查询AuthRole对象
     *
     * @param roleId
     * @return AuthRole对象
     */
    AuthRole get(Long roleId);

    /**
     * 根据siteId查询AuthRole对象
     *
     * @param siteId
     * @return AuthRole对象
     */
    AuthRole findRoleBySiteId(Long siteId);


    /**
     * 根据查询条件查询符合条件的AuthRole对象
     *
     * @param authRole
     * @return 符合条件的AuthRole对象List
     */
    List<AuthRole> getBySlave(AuthRole authRole);

    /**
     * 根据查询条件查询符合条件的AuthRole对象
     *
     * @param authRole
     * @return 符合条件的AuthRole对象List
     */
    List<AuthRole> getRoleList(AuthRole authRole);

    /**
     * 根据主键删除AuthRole对象
     *
     * @param roleId
     * @return 影响条件数
     */
    int delete(Long roleId);

    /**
     * 根据条件删除符合条件的AuthRole对象
     *
     * @param authRole
     * @return 影响条件数
     */
    int delete(AuthRole authRole);

    /**
     * 根据roleId删除AuthRole对象
     *
     * @param roleId
     * @return 影响条件数
     */
    int deleteRoleByRoleId(Long roleId);

    /**
     * 插入AuthRole对象
     *
     * @param authRole
     * @return 影响条件数
     */
    int save(AuthRole authRole);

    /**
     * 更新AuthRole对象
     *
     * @param authRole
     * @return 影响条件数
     */
    int update(AuthRole authRole);

    /**
     * 根据主键跟名称查询角色
     *
     * @param authRole
     * @return
     */
    AuthRole selectRoleName(AuthRole authRole);


    /**
     * @author Mr.zheng
     * @Description getRoleBySiteId 根据站点ID获取角色ID
     * @Date 13:51 2018/6/4
     * @Param [siteId]
     * @return com.hxkj.domain.po.AuthRole
     **/
    AuthRole getRoleBySiteId(Long siteId);

}
